Перейти к основному содержимому

Команды

В t-Plot управлять игрой с помощью команд. Команды выглядят так:

<<wait 2>>
<<typing 4>>

Команды не показываются игроку напрямую; вместо этого они используются для таких действий, ожидания или, например, отправки статуса "печатает"

Команды чата

Если вам необходимо изменить стандартные значения wait, time_for_status или reaction, для конкретного сообщения, или по сюжету, вам, например, нужно сделать паузу в диалоге, отправить статус "печатает" или изменить реакцию на неожиданное сообщение пользователя, вы можете использовать следующие команды:

wait

Команда wait приостанавливает диалог на указанное количество секунд, а затем возобновляет его.

Пример:

// Ждать 2 секунды
<<wait 2>>

typing

Команда typing отправляет статус "печатает" на указанное количество секунд. Пример:

// Печатает 4 секунды
<<typing 4>>

upload_photo

Команда upload_photo отправляет статус "Отправляет фото" на указанное количество секунд. Пример:

// Отправляет фото 4 секунды
<<upload_photo 4>>

record_voice

Команда record_voice отправляет статус "Записывает голосовое сообщение" на указанное количество секунд. Пример:

// Записывает голосовое сообщение 4 секунды
<<record_voice 4>>

record_video_note

Команда record_video_note отправляет статус "Записывает видео" на указанное количество секунд. Пример:

// Записывает видео 4 секунды
<<record_video_note 4>>

reaction

Команда reaction изменяет реакцию на неожиданное сообщение пользователя до следущего сообщения бота. Пример:

// Изменяет реакцию на неожиданное сообщение пользователя
<<reaction angry>>

Команды потока

jump

Команда jump отправит пользователя к указанной ноде. Пример:

// Переход к ноде my_first_node
<<jump my_first_node>>

Монетизация

payment

Команда payment позволяет вам предложить пользователю покупку дополнительных возможностей, скрытых веток или разделить игру на демо-версию и полную версию. Пользователь не сомжет пройти дальше, пока не совершит покупку, кнопка "Отмена" вернёт пользователя на предыдущий уровень.

Каждая команда payment должна содержать идентификатор, в случае оплаты мы запишем что данный пользователь оплатил данный payment и больше не будем спрашивать об оплате для данного идентификатора.

Пример:

Привет, хочешь купить дополнительный контент?
-> Да
<<payment 100 my_first_payment>>
<<jump my_paid_node>>
-> Нет
<<jump my_free_node>>

В этом случае, если пользователь выберет ответ "Да", ему будет предложено совершить покупку за 100 TPoints с идентификатором my_first_payment. После успешной оплаты пользователь будет перенаправлен на ноду my_paid_node. Если пользователь выберет ответ "Нет", он будет перенаправлен на ноду my_free_node.

Если пользователь захочет отменить покупку, он может нажать кнопку "Отмена" и вернуться на предыдущий уровень, то есть ему снова покажется сообщение "Привет, хочешь купить дополнительный контент?".

Будте аккурны, если вы разместите комманду payment в корне ноды, то пользователь при нажатии кнопки отмены вернётся на начало ноды, таким образом поместив комманду payment в корень ноды вы заставите пользователя либо совершить покупку, либо бросить игру. Пример:

title: payment_example
---
Привет, хочешь купить дополнительный контент?
// Тут если пользователь отменит платёж, он вернётся на начало ноды
<<payment 100 my_first_payment>>
<<jump my_paid_node>>
===

Представим что пользователь совершил платёж и идентификатор "my_first_payment" записался как оплаченный, теперь если пользователь вернётся на эту ноду, или встретит платёж с таким же идентификатором в другом месте, то ему не будет предложено совершить платёж, а он сразу перейдёт дальше.